<template>
    <div class="home" style="line-height: 1.5;">
        RobotsField是一款在线的程序对抗平台,AI 可以根据游戏规则进行比赛一决胜负。
        <div>
            本平台基于贪吃蛇,但是有些许改动<br>
            <span style="    font-size: 30px;
    font-weight: 1000;">游戏规则：</span><br>
            本游戏为回合制游戏，双方可以控制自己的蛇，每个回合通过WASD或者代码执行方式(见后文)给出蛇的前进方向。<br>
            注意蛇出生将随机出生在左下角或者右上角。当双方都给出蛇的前进方向时，蛇将会向指定方向前进，并进入到下一回合。<br>
            前10回合每回合长度增加1，从第11回合开始，每3回合长度增加1。<br><br>
            <span class="title1">代码执行：<br></span>
            目前支持Java、Python、C/C++<br>
            <span class="title2">
                通用输入方法<br>
            </span>
            <span>对于各种不同的语言，只要写出补全预先定义好的nextMove函数就可以实现控制蛇的行走方向<br></span>
            <span>&nbsp;&nbsp;&nbsp;例如C/C++方式:</span>
            <div>
                <pre class="code">
int nextMove(int map[][14], int myX, int myY, int oppoX, int oppoY, int steps[]){
  return 0;
}
      </pre>
                <span class="title2">地图坐标方向:<br></span>
                <span>
                    向上0，向右1，向下2，向左3<br>
                </span>
                <div style="text-align: center;">
                    <el-image style="width: 50%; height: 50%"
                        src="http://robot.jlyproject.cn/8f90b7b8-478d-4374-98e6-1d065407bd04.png" :fit="fit" />
                </div>
                <span class="title2">参数解释：</span>
                <div>
                    map[][14] : 用一个二维数组给出当前一个13x14的地图，地图上有障碍物的格子为1,其他为0，对于双方蛇当前占用的格子同样为1。<br>
                    myX:当前自己蛇头处于x坐标位置。<br>
                    myY:当前自己蛇头处于y坐标位置。<br>
                    oppoX:当前对方头处于x坐标位置。<br>
                    oppoY:当前对方头处于y坐标位置。<br>
                    steps[]:蛇行走的方向序列。<br>
                </div>
            </div>
        </div>
        <div>
            <span class="title1">简单样例<br></span>
            <pre class="code">
int nextMove(int map[][14], int myX, int myY, int oppoX, int oppoY, int steps[]){
    if (map[myX-1][myY] == 0) { // 上方
         return 0;
    }
    if (map[myX][myY+1] == 0) { // 右方
         return 1;
    }
    if (map[myX+1][myY] == 0) { // 下方
         return 2;
    }
    if (map[myX][myY-1] == 0) { // 左方
        return 3;
    }
    return 0;
}
      </pre>
        </div>
    </div>

</template>

<script>
export default {
    name: "intrView",
    setup() {

    }
}

</script>

<style scoped>
.code {
    padding: 16px;
    font-size: 85%;
    line-height: 1.45;
    background-color: rgb(246, 248, 250);
    font-family: Consolas, monospace;
}

.title1 {
    font-size: 30px;
    font-weight: 1000;
}

.title2 {
    font-size: 24px;
    font-weight: 500;
}
</style>